1. Field of the Invention
The present invention relates to an apparatus for performing a packet flow control and a method of performing the packet flow control. More particularly, the present invention relates to an apparatus for performing a packet flow control and a method of performing the packet flow control wherein packets may be transmitted during a back pressure operation.
A claim of priority is made to Korean Patent Application No. 2003-43877 filed on Jun. 30, 2003, the contents of which are herein incorporated by reference in its entirety.
2. Description of the Related Art
In data communications networks, devices that communicate with each other on a given network link may be configured for either half duplex or full duplex communication. In full duplex communication, the devices can simultaneously transmit data to one another across the link. On the other hand, in half duplex communication, only one device at a time may transmit data, and accordingly, the devices take turns transmitting data to each other. An Ethernet, in which data is transmitted in the form of packets, is an example of a system which may employ half duplex communication.
In half duplex mode, a problem can arise if the packet memory of a receiving device is filled to capacity. If this occurs, newly transmitted packets from a remote device to the receiving device may be lost. Accordingly, half duplex systems typically include a packet flow control mechanism to prevent overflow of packet memories. For example, an Ethernet switch operating in a half-duplex mode adopts a so-called back pressure flow control as a form of packet flow control. Back pressure flow control is generally characterized as either collision type or carrier type.
According to the collision type of back pressure flow control, in the case where an overflow condition in the packet memory of the receiving device is detected, the receiving device transmits a jamming signal (jamming packets) towards the remote device so as to intentionally create a collision on the link which can be detected by the remote device. The remote device then waits a predetermined period of time prior to transmitting further packets. Occasionally, however, the remote device may not sense the collision until after a predetermined initial period of time from the initiation of a transmission on the network link. Normally collisions occur during an interval of a minimum-size message of 64 bytes. Collisions which are sensed after 64 bytes have been transmitted are late collisions which can cause an error condition.
According to the carrier type of back pressure flow control, in the case where an overflow condition in the packet memory of the receiving device is detected, a bit stream is transmitted to the remote device during a period in which no packets are being transmitted. The bit stream informs the remote device to hold off on the transmission of further packets. However, a collision may occur at the beginning of the back pressure operation, and as result the bit stream may not be transmitted to the remote device. In addition, the remote device may discard packet(s) due to excessive latency error when the time period of the back pressure operation becomes longer.